Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 10 Sep 2011 23:05:59 -0700
From:      perryh@pluto.rain.com
To:        fullermd@over-yonder.net
Cc:        bapt@freebsd.org, lev@freebsd.org, freebsd-ports@freebsd.org
Subject:   Re: [RFC] New ports idea: github / gitorious / bitbucket direct support.
Message-ID:  <4e6c4fc7.M6OsWGol0SLyr/IR%perryh@pluto.rain.com>
In-Reply-To: <20110910071532.GA68847@over-yonder.net>
References:  <765103585.20110909143052@serebryakov.spb.ru> <20110909130458.GO31003@azathoth.lan> <4e6b6e3d.58E89hPS0974IMyM%perryh@pluto.rain.com> <20110910071532.GA68847@over-yonder.net>

next in thread | previous in thread | raw e-mail | index | archive | help
"Matthew D. Fuller" <fullermd@over-yonder.net> wrote:
> On Sat, Sep 10, 2011 at 07:03:41AM -0700 I heard the voice of
> perryh@pluto.rain.com, and lo! it spake thus:
> > 
> > If I am understanding correctly, you seem to be saying that two
> > distfiles autogenerated from the _same_ tag etc. in the _same_
> > repository, and actually containing exactly the same code, can
> > nevertheless generate different checksums!?  Wouldn't that be a
> > bug in the DVCS?
>
> There're all sorts of ways the same content could wind up with
> different checksums.  The compression may happen slightly differently,
> higher, or lower.  The files could wind up in the tarball in a
> different order.  Timestamps could differ.  etc.

I can't address the non-specific "etc", but I would claim that each
of those 3 specific examples is a VCS bug.  Creating a tarball of a
particular content set _should_ be a deterministic process:

* The compression method, and the ordering of the files, should be
  consistent.

* Each file's timestamp in the tarball should be the selected
  version's timestamp as recorded in the repository, typically the
  time when the selected version of that file was committed to the
  VCS.  Ditto for directories, provided the VCS maintains directory
  history.

* If the VCS does _not_ maintain directory history (which is a
  deficiency, but not really a "bug"), each directory's timestamp
  in the tarball should match the most-recent file or subdirectory
  in that directory.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4e6c4fc7.M6OsWGol0SLyr/IR%perryh>